<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : eventsToIcal.xsl
    Created on : 28. duben 2011, 18:30
    Author     : newohybat newohybat@gmail.com
    Description:
        Transformation from xml (internalConcerts.xsd) to iCal format.
-->

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:c="http://code.google.com/p/kalkon/internalConcerts">

   <xsl:output method="text"
                encoding="UTF-8"
                indent="no"
                media-type="text/calendar"/>

    <xsl:variable name="newline"><xsl:text>
</xsl:text></xsl:variable>

    <xsl:template match="/c:concerts">
        <xsl:text>BEGIN:VCALENDAR</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>PRODID:-//KalKon//KalKon Project//CS</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>VERSION:2.0</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>CALSCALE:GREGORIAN</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>METHOD:PUBLISH</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>X-WR-CALNAME;VALUE=TEXT:</xsl:text><xsl:value-of select="@id"/><xsl:text>@KalKon.cz</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>X-WR-TIMEZONE:Europe/Prague</xsl:text><xsl:value-of select="$newline"/>
            <xsl:apply-templates select="c:concert"/>
        <xsl:text>END:VCALENDAR</xsl:text>
    </xsl:template>

    <xsl:template match="//c:concert">
        <xsl:text>BEGIN:VEVENT</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>UID:</xsl:text><xsl:value-of select="generate-id(.)"/><xsl:text>@KalKon.cz</xsl:text>
        <xsl:value-of select="$newline"/>
        <xsl:text>DTSTART;VALUE=</xsl:text>
        <xsl:choose>
            <xsl:when test="not(c:time_start)"><xsl:text>DATE:</xsl:text><xsl:value-of select="c:day_start"/></xsl:when>
            <xsl:otherwise><xsl:text>DATETIME:</xsl:text><xsl:value-of select="concat(c:day_start,'T',c:time_start)"/></xsl:otherwise>
        </xsl:choose>
        <xsl:value-of select="$newline"/>
        <xsl:text>SUMMARY:</xsl:text><xsl:value-of select="normalize-space(c:title)"/><xsl:value-of select="$newline"/>
        <xsl:text>DESCRIPTION:</xsl:text><xsl:value-of select="normalize-space(c:description)"/><xsl:value-of select="$newline"/>
        <xsl:text>LOCATION:</xsl:text><xsl:value-of select="normalize-space(c:location)"/><xsl:value-of select="$newline"/>
        <xsl:text>END:VEVENT</xsl:text>
        <xsl:value-of select="$newline"/>
    </xsl:template>

</xsl:stylesheet>
